/* 
 * 创建日期 2011-3-30
 *
 * 成都天和软件公司
 * 电话：028-85425861 
 * 传真：028-85425861-8008 
 * 邮编：610041 
 * 地址：成都市武侯区航空路6号丰德万瑞中心B座1001 
 * 版权所有
 */
package  org.fantasy.cpp.core.service;

import java.util.List;
import java.util.Map;

import  org.fantasy.cpp.core.pojo.QueryConfig;
import  org.fantasy.common.db.bean.ColumnBean;
import  org.fantasy.common.db.bean.Row;

/**
 * 页面查询服务
 * 
 * @author 王文成
 * @version 1.0
 * @since 2011-3-30
 */
public interface QueryService {
	
	/**
	 * 根据查询ID查询
	 * @param queryId
	 * @param qryMap
	 * @return
	 * @throws Exception
	 */
	List<Row> qryList(Long queryId, Map<String, Object> qryMap) throws Exception;
	
	/**
	 * 分页查询
	 * @param queryId
	 * @param qryMap
	 * @return
	 * @throws Exception
	 */
	List<Row> qryPageList(Long queryId, Map<String, Object> qryMap) throws Exception;

	/**
	 * 直接查询
	 * 
	 * @param config
	 * @param qryMap
	 * @return
	 */
	List<Row> qryList(QueryConfig config, Map<String, Object> qryMap) throws Exception;

	/**
	 * 分页查询
	 * 
	 * @param config
	 * @param qryMap
	 * @return
	 */
	List<Row> qryPageList(QueryConfig config, Map<String, Object> qryMap) throws Exception;
	
	/**
	 * 计算总数
	 * @param config
	 * @param sql
	 * @return
	 * @throws Exception
	 */
	int count(QueryConfig config, String sql) throws Exception;
	
	/**
	 * 取得查询列
	 * @param queryId
	 * @param qryMap
	 * @return
	 * @throws Exception
	 */
	List<ColumnBean> getColumns(Long queryId, Map<String, Object> qryMap) throws Exception;
}
